<template>
  <footer class="footer">
    <span class="todo-count"
      >剩余任务：<strong>{{ leftCount }}</strong></span
    >
    <ul class="filters">
      <li>
        <a
          :class="{ selected: type === 'all' }"
          href="javascript:;"
          @click="$emit('changType', 'all')"
          >全部</a
        >
      </li>
      <li>
        <a
          href="javascript:;"
          :class="{ selected: type === 'no' }"
          @click="$emit('changType', 'no')"
          >未完成</a
        >
      </li>
      <li>
        <a
          href="javascript:;"
          :class="{ selected: type === 'yes' }"
          @click="$emit('changType', 'yes')"
          >已完成</a
        >
      </li>
    </ul>
    <button class="clear-completed" v-show="isShowClear" @click="delClear">
      清除已完成
    </button>
  </footer>
</template>

<script>
export default {
  // data() {
  //   return {
  //     show: '',
  //   }
  // },
  props: {
    list: {
      type: Array,
      require: true,
    },
    type: {
      type: String,
    },
  },
  computed: {
    // 统计未完成的数量
    leftCount() {
      // 得到isDone为false的数组长度  使用插值表达式渲染到页面
      return this.list.filter((item) => item.isDone === false).length
    },
    isShowClear() {
      // 数组的some方法 数组中有一个满足条件就返回true
      // 控制（清除已完成）的显示和隐藏
      return this.list.some((item) => item.isDone === true)
    },
  },
  methods: {
    delClear() {
      this.$emit('clearFn')
    },
  },
}
</script>
